home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows News 2005 November
/
WNnov2005.iso
/
Windows
/
Equipement
/
hMailServer
/
hMailServer-4.1-Build-136.exe
/
{app}
/
PHPWebAdmin
/
include
/
minixml
/
classes
/
treecomp.inc.php
< prev
Wrap
PHP Script
|
2004-10-24
|
5KB
|
164 lines
<?php
/***************************************************************************************************
****************************************************************************************************
*****
***** MiniXML - PHP class library for generating and parsing XML.
*****
***** Copyright (C) 2002,2003 Patrick Deegan, Psychogenic.com
***** All rights reserved.
*****
***** http://minixml.psychogenic.com
*****
***** This program is free software; you can redistribute
***** it and/or modify it under the terms of the GNU
***** General Public License as published by the Free
***** Software Foundation; either version 2 of the
***** License, or (at your option) any later version.
*****
***** This program is distributed in the hope that it will
***** be useful, but WITHOUT ANY WARRANTY; without even
***** the implied warranty of MERCHANTABILITY or FITNESS
***** FOR A PARTICULAR PURPOSE. See the GNU General
***** Public License for more details.
*****
***** You should have received a copy of the GNU General
***** Public License along with this program; if not,
***** write to the Free Software Foundation, Inc., 675
***** Mass Ave, Cambridge, MA 02139, USA.
*****
*****
***** You may contact the author, Pat Deegan, through the
***** contact section at http://www.psychogenic.com
*****
***** Much more information on using this API can be found on the
***** official MiniXML website - http://minixml.psychogenic.com
***** or within the Perl version (XML::Mini) available through CPAN
*****
****************************************************************************************************
***************************************************************************************************/
/***************************************************************************************************
****************************************************************************************************
*****
***** MiniXMLTreeComponent
*****
****************************************************************************************************
***************************************************************************************************/
/* MiniXMLTreeComponent class
** This class is only to be used as a base class
** for others.
**
** It presents the minimal interface we can expect
** from any component in the XML hierarchy.
**
** All methods of this base class
** simply return NULL except a little default functionality
** included in the parent() method.
**
** Warning: This class is not to be instatiated.
** Derive and override.
**
*/
class MiniXMLTreeComponent {
var $xparent;
/* MiniXMLTreeComponent
** Constructor. Creates a new MiniXMLTreeComponent object.
**
*/
function MiniXMLTreeComponent ()
{
$this->xparent = NULL;
} /* end MiniXMLTreeComponent constructor */
/* Get set function for the element name
*/
function name ($setTo=NULL)
{
return NULL;
}
/* Function to fetch an element */
function & getElement ($name)
{
return NULL;
}
/* Function that returns the value of this
component and its children */
function getValue ()
{
return NULL;
}
/* parent NEWPARENT
**
** The parent() method is used to get/set the element's parent.
**
** If the NEWPARENT parameter is passed, sets the parent to NEWPARENT
** (NEWPARENT must be an instance of a class derived from MiniXMLTreeComponent)
**
** Returns a reference to the parent MiniXMLTreeComponent if set, NULL otherwise.
*/
function &parent (&$setParent)
{
if (! is_null($setParent))
{
/* Parents can only be MiniXMLElement objects */
if (! method_exists($setParent, 'MiniXMLTreeComponent'))
{
return _MiniXMLError("MiniXMLTreeComponent::parent(): Must pass an instance derived from "
. "MiniXMLTreeComponent to set.");
}
$this->xparent = $setParent;
}
return $this->xparent;
}
/* Return a stringified version of the XML representing
this component and all sub-components */
function toString ($depth=0)
{
return NULL;
}
/* dump
** Debugging aid, dump returns a nicely formatted dump of the current structure of the
** MiniXMLTreeComponent-derived object.
*/
function dump ()
{
return var_dump($this);
}
/* helper class that everybody loves */
function _spaceStr ($numSpaces)
{
$retStr = '';
if ($numSpaces < 0)
{
return $retStr;
}
for($i = 0; $i < $numSpaces; $i++)
{
$retStr .= ' ';
}
return $retStr;
}
} /* end class definition */
?>